#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define QUEUE_MAX_SIZE 100 

typedef struct Queue {
  int elements[QUEUE_MAX_SIZE];
  int size;
  int* front;
  int* rear;
} Queue;

int init_queue(Queue ** q);

int enqueue (Queue * q, int value); 

int dequeue(Queue * q, int *value); 

int first(Queue * q, int * value); 

int is_empty(Queue * q); 

int size(Queue * q); 

